package br.com.fromtis.jsf.beans;

import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import lombok.Getter;
import lombok.Setter;
import br.com.fromtis.jsf.modal.dao.ClienteDao;
import br.com.fromtis.jsf.modal.entity.Endereco;
import br.com.fromtis.jsf.modal.entity.PessoaFisica;
import br.com.fromtis.jsf.modal.entity.Telefone;





@Getter
@Setter
@ManagedBean
@SessionScoped
public class MbPessoaFisica implements Serializable {
	private static final long serialVersionUID = 1L;
	
	
	private PessoaFisica pf;
	
	private EstadoEnum[] estados;
	
	private Endereco endereco;
	
	private Telefone telefone;
	
	private List<Telefone> telefones;
	
	private ClienteDao clienteDao;
	
	private List<PessoaFisica> listPessoaFisica;
	
	int count = 0;
	
	public void inserirRegistro () {
		pf.setEndereco( endereco );
		clienteDao.save( pf );
		initForm();
	}
	
	public void initForm () {
		pf = new PessoaFisica();
		endereco = new Endereco();
		clienteDao = new ClienteDao();
		listPessoaFisica = listarPf();
	}
	
	public String editar ( PessoaFisica pf ) {
		this.pf = pf;
		endereco = ( Endereco ) clienteDao.findById( Endereco.class, pf.getEndereco().getId() );
		return "cadastrarPessoaFisica";
	}
	
	public void excluir ( PessoaFisica pf ) {
		clienteDao.delete( pf );
		initForm();
	}
	
	public List<PessoaFisica> listarPf () {
		return clienteDao.listPessoaFisica();
	}
	public String clear() {
		initForm();
		return "cadastrarPessoaFisica";
	}
	
	public EstadoEnum[] getEstados () {
		return EstadoEnum.values();
	}
	

}

